#ifndef E_ITEM_TEST_H
#define E_ITEM_TEST_H

#include "EMatrix4x4.h"
#include "EString.h"
#include <DefineLibCommon.h>
#include <DefineCommon.h>

#include <EItemMetaProperty.h>
#include <EItem.h>

class EItemTest;
typedef SmartPtr(EItemTest) EItemTestPtr;
class COMMON_DLL EItemTest : public EItem
{
public:
    EItemTest();
    virtual ~EItemTest();

    /*some function that may be called by ui*/
    void uiFun_testAdd(double v1, double v2);

    //some properties that will show in ui
    int ui_testInt;

    double ui_testDouble;//double m_ui_double_max;double m_ui
    double ui_testDouble_min = 56;
    double ui_testDouble_max = 0.0;
    void OnSet_testDouble(const double& value);
    void OnGet_testDouble(double& value);

    bool ui_testBool;

    EVec3 ui_testVec3;
    void OnSet_testVec3(EVec3 value);
    void OnGet_testVec3(EVec3& value);

    EVec4 ui_testVec4;
    EMatrix4x4 ui_testMatrix;
    EString ui_testString;

protected:

};

#endif // E_ITEM_TEST_H
